package com.itheima.tanhua.api;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.itheima.tanhua.domain.UserInfo;
import com.itheima.tanhua.dto.RecommendUserDto;
import com.itheima.tanhua.mongo.RecommendUser;

import java.util.List;
import java.util.Map;

/**
 * @author Lff
 * @date 2022/3/24
 * 用户详细信息操作Api
 */
public interface UserInfoApi {
    /**
     * 保存用户具体信息
     *
     * @param userInfo
     */
    public void save(UserInfo userInfo);

    /**
     * 修改用户具体信息
     *
     * @param userInfo
     */
    public void update(UserInfo userInfo);

    /**
     * 查询党和用户的信息
     *
     * @param userID
     * @return
     */
    UserInfo findById(Long userID);

    /**
     * 分页查询好友列表的用户信息
     *
     * @param items
     * @param dto
     * @return
     */
    Page<UserInfo> getUserToPage(List<RecommendUser> items, RecommendUserDto dto);

    /**
     * 批量查询用户信息并以Map的形式返回
     *
     * @param ids
     * @param condition
     * @return
     */
    Map<Long, UserInfo> getUserInfosToMap(List<Long> ids, UserInfo condition);

    /**
     * 根据环信id获取用户详情信息
     *
     * @param hxUser
     * @return
     */
    UserInfo findUserInfoByHxUser(String hxUser);

    /**
     * 分页查询UserInfo
     *
     * @param page
     * @param pagesize
     * @return
     */
    Page<UserInfo> findUserInfoByPage(Integer page, Integer pagesize);
}
